/**
 * 
 */
package NoteBook;

import java.util.Arrays;
import java.util.Scanner;


/**
 * array方法
 * 1、 Arrays.toString(arr)  输出数组   打印一维数组
 * 2、 System.arraycopy(src, 3, dest, 0, 2);  修改数据  将src数组中下标为3开始复制2个到dest下标为0处
 * 3、 Arrays.copyOf(arr,2);  复制数组  复制数组arr中的前两个数
 * @author Jiang Zhiyan
 *
 * 2021年5月20日 下午1:44:10
 */

/*
 * 一维数组的定义
 * int [] arr  = new int[] { 1,2,3,4,5,6};
 * int [] arr1 = {1,2,3,4,5,6};
 * int [] arr2 = new int[10];
 * 
 */

/*
 * 二维数组的定义
 *  int [][] arr2={{1,2,3,4},{5,6,7}};
 * 
 *  int [][] arr3= new int [2][3];
 *  
 *  int [][] arr4= new int[2][];
 * 
 */
public class _11CopyOfArrays {
	public static void main(String[] args) {
		scannerArrays() ;
		arrayCopy();
		copyOfTest();
	}
	//不断向数组里面输入正整数数据，直到输入-1终止
	 public static void scannerArrays() {
	    try (Scanner sc = new Scanner(System.in)) {
			int [] arr= new int [0];
			while(true) {
				int data=sc.nextInt();
				if(data==-1) {
					break;
				}
				arr=Arrays.copyOf(arr, arr.length+1);
				arr[arr.length-1]=data;
			}
			System.out.println(Arrays.toString(arr));  
		}
	 }
public static void arrayCopy() {
	 int [] src= {1,2,3,4,5,6};
//	 int [] dest= new int [10];
	 int [] dest= {2,0,2,0,4,4,5,1,2,1,2,0};
//	 将src数组中下标为3开始复制2个到dest下标为0处
	 System.arraycopy(src, 3, dest, 0, 2); //修改数组某一部位的数字，且修改一定量
	 System.out.println();
	 System.out.println(Arrays.toString(dest));//[0, 0, 0, 0, 4, 5, 0, 0, 0, 0]
}
   public static void copyOfTest() {
   	int [] arr = {1,2,3,4};
   	int [] newArr= Arrays.copyOf(arr,2); //复制数组arr中的前两个数
   	System.out.println(Arrays.toString(newArr));//[1,2]
   }

}
